﻿using EntityFramework.Entity.Core;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using YouTravel.Framework.Enums;

namespace YouTravel.DomainModels
{
    /// <summary>
    /// 收票信息
    /// </summary>
    public class CollectInvoice : EntityBase
    {
        /// <summary>
        /// 付款ID
        /// </summary>
        public int PaymentId { get; set; }
        /// <summary>
        /// 付款信息
        /// </summary>
        public virtual Payment Payment { get; set; }
        /// <summary>
        /// 收票状态
        /// </summary>
        public CollectInvoiceStatus Status { get; set; }
        /// <summary>
        /// 创建人ID
        /// </summary>
        public int CreaterId { get; set; }
        /// <summary>
        /// 创建人
        /// </summary>
        public virtual User Creater { get; set; }
        /// <summary>
        /// 创建时间 
        /// </summary>
        public DateTime CreateTime { get; set; }

        /// <summary>
        /// 更新人Id
        /// </summary>
        public int? UpdaterId { get; set; }
        /// <summary>
        /// 更新人姓名
        /// </summary>
        public string UpdaterName { get; set; }
        /// <summary>
        /// 更新人
        /// </summary>
        public virtual User Updater { get; set; }
        /// <summary>
        /// 更新时间
        /// </summary>
        public DateTime? UpdateTime { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string Remark { get; set; }
        

        /// <summary>
        /// 团集合
        /// </summary>
        public virtual ICollection<CollectInvoiceGroup> CollectInvoiceGroup { get; set; }
        /// <summary>
        /// 收票详细集合
        /// </summary>
        public virtual ICollection<CollectInvoiceDetail> CollectInvoiceDetail { get; set; }
    }
}
